Computers are known to comprise of a central processing unit, system memory, audio processing circuitry, peripheral ports, and video processing circuitry. The peripheral ports allow the central processing unit to communicate with peripheral devices such as monitors, printers, external tape drives, the internet, etc. Video graphics circuitry functions as a co-processor to the central processing unit to perform video graphic functions. As such, the video graphics processor receives graphical data generated by the central processing unit and renders the graphical data into pixel data that is subsequently displayed on a monitor.
Video graphic circuitry may be coupled to a single display or to multiple displays. When coupled to a single display, a frame buffer holds the pixel data that is subsequently provided to the display. Typically, the pixel data is mapped into the frame buffer based on physical parameters of the monitor (e.g., resolution and X, Y coordinates). The mapping of the frame buffer may be linear mapping or tile mapping. Regardless of the mapping technique, the display presents, in a full screen, the image or images stored in the frame buffer.
When the video graphics processing circuit is supplying pixel data to multiple displays, one or more of the displays may be operating in a virtual desktop mode. A display will operate in a virtual desktop mode when its resolution does not match the resolution of one or more of the other multiple displays. Typically, the display operating in a virtual desktop mode has a lower resolution than the primary display, thus it is too small to display the full image of the data stored in the frame buffer. When in the virtual desktop mode, only a portion of the image in the frame buffer is presented on screen. To view other portions of the image, a mouse, or other GUI action is performed.
As is known, the virtual desktop mode enables a lower resolution display to display larger resolution drawing surfaces. As such, when in the virtual desktop mode, only a portion of the image in the frame buffer is presented on screen. To view other portions of the image, a mouse, or other GUI action is performed. However, to support multiple displays, and/or the virtual desktop mode, requires modification of the operating system interface, does not allow upgrading of the operating system without reconfiguring the interface, and is complex. Obviously, such intrusions on the operating system are less than desirable and limit commercial viability.
As is known, a computing system may include a plurality of video graphics cards, each having a separate display register associated with the operating system. If each card is supporting a single display, all of the displays operate in full screen mode, i.e., not functioning in a virtual desktop mode. Each card, however, may support multiple displays, recreating the above mentioned virtual desktop operations.
Therefore, a need exists for a method and apparatus that supports multiple displays operably coupled to a single drawing surface to support virtual desktop mode without the complexity or interface changes needed in current implementations and without limiting displays having greater capabilities.